﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using System.Windows.Forms;

namespace EuropeEngulfed.NET
{
    public class EEGraphics
    {

        #region Bitmaps
        //Axis Minor
        public static Bitmap Bulg2StepInf;
        public static Bitmap Fin2StepInf;
        public static Bitmap Fin3StepInf;
        public static Bitmap Fin4StepInf;
        public static Bitmap Hung2StepInf;
        public static Bitmap Hung3StepInf;
        public static Bitmap Rum2StepArmor;
        public static Bitmap Rum2StepInf;
        public static Bitmap Rum3StepInf;
        public static Bitmap AxisMinorBlockBacking;
        public static Bitmap AxisMultMinorBlockBacking;
        public static Bitmap AxisMinorHiddenBlock;
        //British
        public static Bitmap British1StepMilitia;
        public static Bitmap British2StepAirBorne;
        public static Bitmap British2StepMilitia;
        public static Bitmap British3StepAirBorne;
        public static Bitmap British3StepArmor;
        public static Bitmap British3StepInf;
        public static Bitmap British4StepArmor;
        public static Bitmap British4StepInf;
        public static Bitmap BritishBlockBacking;
        public static Bitmap BritishGSUDogfight;
        public static Bitmap BritishGSUGroundSupport;
        public static Bitmap BritishGSUMini;
        public static Bitmap BritishMultBlockBacking;
        public static Bitmap BritishHiddenBlock;
        public static Bitmap USBritishFleetPoint;
        public static Bitmap USBritishFleetPointWOutTrans;

        //French
        public static Bitmap French2StepArmor;
        public static Bitmap French2StepInf;
        public static Bitmap French3StepArmor;
        public static Bitmap French3StepInf;
        public static Bitmap French4StepInf;
        public static Bitmap FrenchBlockBacking;
        public static Bitmap FrenchGSUDogfight;
        public static Bitmap FrenchGSUGroundSupport;
        public static Bitmap FrenchGSUMini;
        public static Bitmap FrenchMultBlockBacking;
        public static Bitmap FrenchHiddenBlock;
        public static Bitmap FrenchFleetPoint;
        public static Bitmap FrenchFleetPointWOutTrans;
        
        //German
        public static Bitmap Geman4StepEliteInf;
        public static Bitmap Geman4StepInf;
        public static Bitmap German1StepMilitia;
        public static Bitmap German2StepAirBorne;
        public static Bitmap German2StepCavalry;
        public static Bitmap German2StepInf;
        public static Bitmap German2StepMilitia;
        public static Bitmap German3StepAirBorne;
        public static Bitmap German3StepArmor;
        public static Bitmap German3StepEliteArmor;
        public static Bitmap German3StepInf;
        public static Bitmap German4StepArmor;
        public static Bitmap German4StepEliteArmor;
        public static Bitmap GermanBlockBacking;
        public static Bitmap GermanEliteBlockBacking;
        public static Bitmap GermanGSUDogFight;
        public static Bitmap GermanGSUGroundSupport;
        public static Bitmap GermanGSUMini;
        public static Bitmap GermanMultBlockBacking;
        public static Bitmap GermanMultEliteBlockBacking;
        public static Bitmap GermanHiddenBlock;
        public static Bitmap GermanEliteHiddenBlock;
        public static Bitmap GermanFleetPoint;
        public static Bitmap GermanFleetPointWOutTrans;

        //Italian
        public static Bitmap Ita2StepAirborne;
        public static Bitmap Ita2StepArmor;
        public static Bitmap Ita2StepInf;
        public static Bitmap Ita3StepArmor;
        public static Bitmap Ita3StepInf;
        public static Bitmap ItaBlockBacking;
        public static Bitmap ItaGSU;
        public static Bitmap ItaGSUGroundSupport;
        public static Bitmap ItaGSUMini;
        public static Bitmap ItaMultBlockBacking;
        public static Bitmap ItaHiddenBlock;
        public static Bitmap ItaFleetPoint;
        public static Bitmap ItaFleetPointWOutTrans;
        
        //Neutral
        public static Bitmap Neutral2StepArmor;
        public static Bitmap Neutral2StepCavalry;
        public static Bitmap Neutral2StepInf;
        public static Bitmap Neutral3StepInf;
        public static Bitmap NeutralBlockBacking;
        public static Bitmap NeutralMultBlockBacking;
        public static Bitmap NeutralHiddenBlock;
        //Soviet
        public static Bitmap Soviet2StepAirBorne;
        public static Bitmap Soviet2StepArmor;
        public static Bitmap Soviet2StepInf;
        public static Bitmap Soviet3StepAirBorne;
        public static Bitmap Soviet3StepArmor;
        public static Bitmap Soviet3StepCavalry;
        public static Bitmap Soviet3StepInf;
        public static Bitmap Soviet4StepArmor;
        public static Bitmap Soviet4StepEliteArmor;
        public static Bitmap Soviet4StepEliteInf;
        public static Bitmap Soviet4StepInf;
        public static Bitmap SovietBlockBacking;
        public static Bitmap SovietEliteBlockBacking;
        public static Bitmap SovietEliteMultBlockBacking;
        public static Bitmap SovietGSUDogfight;
        public static Bitmap SovietGSUGroundSupport;
        public static Bitmap SovietGSUMini;
        public static Bitmap SovietMultBlockBacking;
        public static Bitmap SovietHiddenBlock;
        public static Bitmap SovietEliteHiddenBlock;
        public static Bitmap SovietFleetPoint;
        public static Bitmap SovietFleetPointWOutTrans;
        
        //US
        public static Bitmap US2StepAirBorne;
        public static Bitmap US3StepAirBorne;
        public static Bitmap US3StepArmor;
        public static Bitmap US3StepInf;
        public static Bitmap US4StepArmor;
        public static Bitmap US4StepInf;
        public static Bitmap USBlockBacking;
        public static Bitmap USGSUDogfight;
        public static Bitmap USGSUGroundSupport;
        public static Bitmap USGSUMini;
        public static Bitmap USMultBlockBacking;
        public static Bitmap USHiddenBlock;

        //Info Track Markers
        public static Bitmap WesternAlliedBomberPoints;
        public static Bitmap WesternAlliedFighterPoints;
        public static Bitmap BritishFlakPoints;
        public static Bitmap BritishASWLevel;
        public static Bitmap GermanUBoatPoints;
        public static Bitmap GermanUBoatPoints30;
        public static Bitmap GermanBomberPoints;
        public static Bitmap GermanFighterPoints;
        public static Bitmap GermanFlakPoints;
        public static Bitmap GermanV1Points;
        public static Bitmap GermanV2Points;

        public static Bitmap AxisTurnMarker;
        public static Bitmap AlliedTurnMarker;
        public static Bitmap USNextFleetAllowed;
        public static Bitmap SovietNextFleetAllowed;
        public static Bitmap ItaNextFleetAllowed;
        public static Bitmap GermanNextFleetAllowed;
        public static Bitmap GermanNextFlakAllowed;
        public static Bitmap FrenchNextFleetAllowed;
        public static Bitmap BritishNextFleetAllowed;
        public static Bitmap BritishNextASWAllowed;
        public static Bitmap BritishNextFlakAllowed;

        //Control Markers
        public static Bitmap BritishControlMarker;
        public static Bitmap USControlMarker;
        public static Bitmap GermanControlMarker;
        public static Bitmap SovietControlMarker;
        public static Bitmap ItalyControlMarker;
        public static Bitmap FrenchControlMarker;
        //Transparent Control Markers
        public static Bitmap TransparentBritishControlMarker;
        public static Bitmap TransparentUSControlMarker;
        public static Bitmap TransparentGermanControlMarker;
        public static Bitmap TransparentSovietControlMarker;
        public static Bitmap TransparentItalyControlMarker;
        public static Bitmap TransparentFrenchControlMarker;
        //Beachhead Markers
        public static Bitmap axisBeachhead;
        public static Bitmap sovietBeachHead;
        public static Bitmap wAlliedBeachHead;
        //Weather
        public static Bitmap ClearWeatherMarker;
        public static Bitmap LtMudWeatherMarker;
        public static Bitmap MudWeatherMarker;
        public static Bitmap SnowWeatherMarker;

        //Transparent Special Actions
        public static Bitmap BritishSAs;
        public static Bitmap USControlSAs;
        public static Bitmap GermanControlSAs;
        public static Bitmap SovietControlSAs;
        public static Bitmap ItalyControlSAs;
        public static Bitmap FrenchControlSAs;
        public static Bitmap NeutralControlSAs;
        public static Bitmap TransparentBritishSAs;
        public static Bitmap TransparentUSControlSAs;
        public static Bitmap TransparentGermanControlSAs;
        public static Bitmap TransparentSovietControlSAs;
        public static Bitmap TransparentItalyControlSAs;
        public static Bitmap TransparentFrenchControlSAs;
        public static Bitmap TransparentNeutralControlSAs;
        public static Bitmap MiniTransparentBritishSAs;
        public static Bitmap MiniTransparentUSControlSAs;
        public static Bitmap MiniTransparentGermanControlSAs;
        public static Bitmap MiniTransparentSovietControlSAs;
        public static Bitmap MiniTransparentItalyControlSAs;
        public static Bitmap MiniTransparentFrenchControlSAs;
        public static Bitmap MiniTransparentNeutralControlSAs;

        //Misc
        public static Bitmap unitFired;
        public static Bitmap OutOfSupply;
        public static Bitmap OutOfSupplyMoved;
        public static Bitmap fieldFortification;
        public static Bitmap heavyFieldFortification;
        public static Bitmap oneSidedDiceRed;
        public static Bitmap twoSidedDiceRed;
        public static Bitmap threeSidedDiceRed;
        public static Bitmap fourSidedDiceRed;
        public static Bitmap fiveSidedDiceRed;
        public static Bitmap sixSidedDiceRed;
        public static Bitmap oneSidedDiceWhite;
        public static Bitmap twoSidedDiceWhite;
        public static Bitmap threeSidedDiceWhite;
        public static Bitmap fourSidedDiceWhite;
        public static Bitmap fiveSidedDiceWhite;
        public static Bitmap sixSidedDiceWhite;
        public static Bitmap ClearAllWeather;
        public static Bitmap ClearWestSouthLtMudEastWeather;
        public static Bitmap SnowEastWestLtMudSouthWeather;
        public static Bitmap VariableWeather;
        public static Bitmap mainEEMap;
        public static Bitmap mainEEMappedUI;
        public static Bitmap axisMinorStep;
        #endregion

        #region Graphics Initialisation

        /// <summary>
        /// Loads bitmap files into individual Bitmap instances.
        /// </summary>
        /// <returns>true if successful, false if not</returns>
        public static bool InitialisePlayingPieceGraphics()
        {
            try
            {
                string bitmapPath;
                if (System.IO.Directory.Exists(Properties.Settings.Default.PrimaryBitmapPath))
                {
                    bitmapPath = Properties.Settings.Default.PrimaryBitmapPath;
                }
                else if (System.IO.Directory.Exists(Properties.Settings.Default.AlternateBitmapPath))
                {
                    bitmapPath = Properties.Settings.Default.AlternateBitmapPath;
                }
                else
                {
                    return false;                                       // return false = bitmaps not found
                }

                mainEEMap = (Bitmap)Bitmap.FromFile(bitmapPath + "EuropeEngulfed.bmp");
                mainEEMappedUI = (Bitmap)Bitmap.FromFile(bitmapPath + "EuropeEngulfedMappedUI.bmp");
                AxisMinorBlockBacking = (Bitmap)Bitmap.FromFile(bitmapPath + "AxisMinorBlockBacking.bmp");
                AxisMinorBlockBacking.MakeTransparent(System.Drawing.Color.White);
                AxisMultMinorBlockBacking = (Bitmap)Bitmap.FromFile(bitmapPath + "AxisMultMinorBlockBacking.bmp");
                AxisMultMinorBlockBacking.MakeTransparent(System.Drawing.Color.White);
                British1StepMilitia = (Bitmap)Bitmap.FromFile(bitmapPath + "British1StepMilitia.bmp");
                British1StepMilitia.MakeTransparent(System.Drawing.Color.White);
                British2StepAirBorne = (Bitmap)Bitmap.FromFile(bitmapPath + "British2StepAirBorne.bmp");
                British2StepAirBorne.MakeTransparent(System.Drawing.Color.White);
                British2StepMilitia = (Bitmap)Bitmap.FromFile(bitmapPath + "British2StepMilitia.bmp");
                British2StepMilitia.MakeTransparent(System.Drawing.Color.White);
                British3StepAirBorne = (Bitmap)Bitmap.FromFile(bitmapPath + "British3StepAirBorne.bmp");
                British3StepAirBorne.MakeTransparent(System.Drawing.Color.White);
                British3StepArmor = (Bitmap)Bitmap.FromFile(bitmapPath + "British3StepArmor.bmp");
                British3StepArmor.MakeTransparent(System.Drawing.Color.White);
                British3StepInf = (Bitmap)Bitmap.FromFile(bitmapPath + "British3StepInf.bmp");
                British3StepInf.MakeTransparent(System.Drawing.Color.White);
                British4StepArmor = (Bitmap)Bitmap.FromFile(bitmapPath + "British4StepArmor.bmp");
                British4StepArmor.MakeTransparent(System.Drawing.Color.White);
                British4StepInf = (Bitmap)Bitmap.FromFile(bitmapPath + "British4StepInf.bmp");
                British4StepInf.MakeTransparent(System.Drawing.Color.White);
                BritishBlockBacking = (Bitmap)Bitmap.FromFile(bitmapPath + "BritishBlockBacking.bmp");
                BritishBlockBacking.MakeTransparent(System.Drawing.Color.White);
                BritishGSUDogfight = (Bitmap)Bitmap.FromFile(bitmapPath + "BritishGSUDogfight.bmp");
                BritishGSUDogfight.MakeTransparent(System.Drawing.Color.White);
                BritishGSUGroundSupport = (Bitmap)Bitmap.FromFile(bitmapPath + "BritishGSUGroundSupport.bmp");
                BritishGSUGroundSupport.MakeTransparent(System.Drawing.Color.White);
                BritishGSUMini = (Bitmap)Bitmap.FromFile(bitmapPath + "BritishGSUMini.bmp");
                BritishGSUMini.MakeTransparent(System.Drawing.Color.White);
                BritishMultBlockBacking = (Bitmap)Bitmap.FromFile(bitmapPath + "BritishMultBlockBacking.bmp");
                BritishMultBlockBacking.MakeTransparent(System.Drawing.Color.White);
                USBritishFleetPoint = (Bitmap)Bitmap.FromFile(bitmapPath + "USBritishFleetPoint.bmp");
                USBritishFleetPointWOutTrans = (Bitmap)Bitmap.FromFile(bitmapPath + "USBritishFleetPointWOutTrans.bmp");
                Bulg2StepInf = (Bitmap)Bitmap.FromFile(bitmapPath + "Bulg2StepInf.bmp");
                Bulg2StepInf.MakeTransparent(System.Drawing.Color.White);
                Fin2StepInf = (Bitmap)Bitmap.FromFile(bitmapPath + "Fin2StepInf.bmp");
                Fin2StepInf.MakeTransparent(System.Drawing.Color.White);
                Fin3StepInf = (Bitmap)Bitmap.FromFile(bitmapPath + "Fin3StepInf.bmp");
                Fin3StepInf.MakeTransparent(System.Drawing.Color.White);
                Fin4StepInf = (Bitmap)Bitmap.FromFile(bitmapPath + "Fin4StepInf.bmp");
                Fin4StepInf.MakeTransparent(System.Drawing.Color.White);
                French2StepArmor = (Bitmap)Bitmap.FromFile(bitmapPath + "French2StepArmor.bmp");
                French2StepArmor.MakeTransparent(System.Drawing.Color.White);
                French2StepInf = (Bitmap)Bitmap.FromFile(bitmapPath + "French2StepInf.bmp");
                French2StepInf.MakeTransparent(System.Drawing.Color.White);
                French3StepArmor = (Bitmap)Bitmap.FromFile(bitmapPath + "French3StepArmor.bmp");
                French3StepArmor.MakeTransparent(System.Drawing.Color.White);
                French3StepInf = (Bitmap)Bitmap.FromFile(bitmapPath + "French3StepInf.bmp");
                French3StepInf.MakeTransparent(System.Drawing.Color.White);
                French4StepInf = (Bitmap)Bitmap.FromFile(bitmapPath + "French4StepInf.bmp");
                French4StepInf.MakeTransparent(System.Drawing.Color.White);
                FrenchBlockBacking = (Bitmap)Bitmap.FromFile(bitmapPath + "FrenchBlockBacking.bmp");
                FrenchBlockBacking.MakeTransparent(System.Drawing.Color.White);
                FrenchGSUDogfight = (Bitmap)Bitmap.FromFile(bitmapPath + "FrenchGSUDogfight.bmp");
                FrenchGSUDogfight.MakeTransparent(System.Drawing.Color.White);
                FrenchGSUGroundSupport = (Bitmap)Bitmap.FromFile(bitmapPath + "FrenchGSUGroundSupport.bmp");
                FrenchGSUGroundSupport.MakeTransparent(System.Drawing.Color.White);
                FrenchGSUMini = (Bitmap)Bitmap.FromFile(bitmapPath + "FrenchGSUMini.bmp");
                FrenchGSUMini.MakeTransparent(System.Drawing.Color.White);
                FrenchMultBlockBacking = (Bitmap)Bitmap.FromFile(bitmapPath + "FrenchMultBlockBacking.bmp");
                FrenchMultBlockBacking.MakeTransparent(System.Drawing.Color.White);
                FrenchFleetPoint = (Bitmap)Bitmap.FromFile(bitmapPath + "FrenchFleetPoint.bmp");
                FrenchFleetPointWOutTrans = (Bitmap)Bitmap.FromFile(bitmapPath + "FrenchFleetPointWOutTrans.bmp");
                Geman4StepEliteInf = (Bitmap)Bitmap.FromFile(bitmapPath + "German4StepEliteInf.bmp");
                Geman4StepEliteInf.MakeTransparent(System.Drawing.Color.White);
                Geman4StepInf = (Bitmap)Bitmap.FromFile(bitmapPath + "German4StepInf.bmp");
                Geman4StepInf.MakeTransparent(System.Drawing.Color.White);
                German1StepMilitia = (Bitmap)Bitmap.FromFile(bitmapPath + "German1StepMilitia.bmp");
                German1StepMilitia.MakeTransparent(System.Drawing.Color.White);
                German2StepAirBorne = (Bitmap)Bitmap.FromFile(bitmapPath + "German2StepAirBorne.bmp");
                German2StepAirBorne.MakeTransparent(System.Drawing.Color.White);
                German2StepCavalry = (Bitmap)Bitmap.FromFile(bitmapPath + "German2StepCavalry.bmp");
                German2StepCavalry.MakeTransparent(System.Drawing.Color.White);
                German2StepInf = (Bitmap)Bitmap.FromFile(bitmapPath + "German2StepInf.bmp");
                German2StepInf.MakeTransparent(System.Drawing.Color.White);
                German2StepMilitia = (Bitmap)Bitmap.FromFile(bitmapPath + "German2StepMilitia.bmp");
                German2StepMilitia.MakeTransparent(System.Drawing.Color.White);
                German3StepAirBorne = (Bitmap)Bitmap.FromFile(bitmapPath + "German3StepAirBorne.bmp");
                German3StepAirBorne.MakeTransparent(System.Drawing.Color.White);
                German3StepArmor = (Bitmap)Bitmap.FromFile(bitmapPath + "German3StepArmor.bmp");
                German3StepArmor.MakeTransparent(System.Drawing.Color.White);
                German3StepEliteArmor = (Bitmap)Bitmap.FromFile(bitmapPath + "German3StepEliteArmor.bmp");
                German3StepEliteArmor.MakeTransparent(System.Drawing.Color.White);
                German3StepInf = (Bitmap)Bitmap.FromFile(bitmapPath + "German3StepInf.bmp");
                German3StepInf.MakeTransparent(System.Drawing.Color.White);
                German4StepArmor = (Bitmap)Bitmap.FromFile(bitmapPath + "German4StepArmor.bmp");
                German4StepArmor.MakeTransparent(System.Drawing.Color.White);
                German4StepEliteArmor = (Bitmap)Bitmap.FromFile(bitmapPath + "German4StepEliteArmor.bmp");
                German4StepEliteArmor.MakeTransparent(System.Drawing.Color.White);
                GermanBlockBacking = (Bitmap)Bitmap.FromFile(bitmapPath + "GermanBlockBacking.bmp");
                GermanBlockBacking.MakeTransparent(System.Drawing.Color.White);
                GermanEliteBlockBacking = (Bitmap)Bitmap.FromFile(bitmapPath + "GermanEliteBlockBacking.bmp");
                GermanEliteBlockBacking.MakeTransparent(System.Drawing.Color.White);
                GermanGSUDogFight = (Bitmap)Bitmap.FromFile(bitmapPath + "GermanGSUDogFight.bmp");
                GermanGSUDogFight.MakeTransparent(System.Drawing.Color.White);
                GermanGSUGroundSupport = (Bitmap)Bitmap.FromFile(bitmapPath + "GermanGSUGroundSupport.bmp");
                GermanGSUGroundSupport.MakeTransparent(System.Drawing.Color.White);
                GermanGSUMini = (Bitmap)Bitmap.FromFile(bitmapPath + "GermanGSUMini.bmp");
                GermanGSUMini.MakeTransparent(System.Drawing.Color.White);
                GermanMultBlockBacking = (Bitmap)Bitmap.FromFile(bitmapPath + "GermanMultBlockBacking.bmp");
                GermanMultBlockBacking.MakeTransparent(System.Drawing.Color.White);
                GermanMultEliteBlockBacking = (Bitmap)Bitmap.FromFile(bitmapPath + "GermanMultEliteBlockBacking.bmp");
                GermanMultEliteBlockBacking.MakeTransparent(System.Drawing.Color.White);
                GermanFleetPoint = (Bitmap)Bitmap.FromFile(bitmapPath + "GermanFleetPoint.bmp");
                GermanFleetPointWOutTrans = (Bitmap)Bitmap.FromFile(bitmapPath + "GermanFleetPointWOutTrans.bmp");
                Hung2StepInf = (Bitmap)Bitmap.FromFile(bitmapPath + "Hung2StepInf.bmp");
                Hung2StepInf.MakeTransparent(System.Drawing.Color.White);
                Hung3StepInf = (Bitmap)Bitmap.FromFile(bitmapPath + "Hung3StepInf.bmp");
                Hung3StepInf.MakeTransparent(System.Drawing.Color.White);
                Ita2StepAirborne = (Bitmap)Bitmap.FromFile(bitmapPath + "Ita2StepAirborne.bmp");
                Ita2StepAirborne.MakeTransparent(System.Drawing.Color.White);
                Ita2StepArmor = (Bitmap)Bitmap.FromFile(bitmapPath + "Ita2StepArmor.bmp");
                Ita2StepArmor.MakeTransparent(System.Drawing.Color.White);
                Ita2StepInf = (Bitmap)Bitmap.FromFile(bitmapPath + "Ita2StepInf.bmp");
                Ita2StepInf.MakeTransparent(System.Drawing.Color.White);
                Ita3StepArmor = (Bitmap)Bitmap.FromFile(bitmapPath + "Ita3StepArmor.bmp");
                Ita3StepArmor.MakeTransparent(System.Drawing.Color.White);
                Ita3StepInf = (Bitmap)Bitmap.FromFile(bitmapPath + "Ita3StepInf.bmp");
                Ita3StepInf.MakeTransparent(System.Drawing.Color.White);
                ItaBlockBacking = (Bitmap)Bitmap.FromFile(bitmapPath + "ItaBlockBacking.bmp");
                ItaBlockBacking.MakeTransparent(System.Drawing.Color.White);
                ItaGSU = (Bitmap)Bitmap.FromFile(bitmapPath + "ItaGSUDogFight.bmp");
                ItaGSU.MakeTransparent(System.Drawing.Color.White);
                ItaGSUGroundSupport = (Bitmap)Bitmap.FromFile(bitmapPath + "ItaGSUGroundSupport.bmp");
                ItaGSUGroundSupport.MakeTransparent(System.Drawing.Color.White);
                ItaGSUMini = (Bitmap)Bitmap.FromFile(bitmapPath + "ItaGSUMini.bmp");
                ItaGSUMini.MakeTransparent(System.Drawing.Color.White);
                ItaMultBlockBacking = (Bitmap)Bitmap.FromFile(bitmapPath + "ItaMultBlockBacking.bmp");
                ItaMultBlockBacking.MakeTransparent(System.Drawing.Color.White);
                ItaFleetPoint = (Bitmap)Bitmap.FromFile(bitmapPath + "ItaFleetPoint.bmp");
                ItaFleetPointWOutTrans = (Bitmap)Bitmap.FromFile(bitmapPath + "ItaFleetPointWOutTrans.bmp");
                Neutral2StepArmor = (Bitmap)Bitmap.FromFile(bitmapPath + "Neutral2StepArmor.bmp");
                Neutral2StepArmor.MakeTransparent(System.Drawing.Color.White);
                Neutral2StepCavalry = (Bitmap)Bitmap.FromFile(bitmapPath + "Neutral2StepCavalry.bmp");
                Neutral2StepCavalry.MakeTransparent(System.Drawing.Color.White);
                Neutral2StepInf = (Bitmap)Bitmap.FromFile(bitmapPath + "Neutral2StepInf.bmp");
                Neutral2StepInf.MakeTransparent(System.Drawing.Color.White);
                Neutral3StepInf = (Bitmap)Bitmap.FromFile(bitmapPath + "Neutral3StepInf.bmp");
                Neutral3StepInf.MakeTransparent(System.Drawing.Color.White);
                NeutralBlockBacking = (Bitmap)Bitmap.FromFile(bitmapPath + "NeutralBlockBacking.bmp");
                NeutralBlockBacking.MakeTransparent(System.Drawing.Color.White);
                NeutralMultBlockBacking = (Bitmap)Bitmap.FromFile(bitmapPath + "NeutralMultBlockBacking.bmp");
                NeutralMultBlockBacking.MakeTransparent(System.Drawing.Color.White);
                Rum2StepArmor = (Bitmap)Bitmap.FromFile(bitmapPath + "Rum2StepArmor.bmp");
                Rum2StepArmor.MakeTransparent(System.Drawing.Color.White);
                Rum2StepInf = (Bitmap)Bitmap.FromFile(bitmapPath + "Rum2StepInf.bmp");
                Rum2StepInf.MakeTransparent(System.Drawing.Color.White);
                Rum3StepInf = (Bitmap)Bitmap.FromFile(bitmapPath + "Rum3StepInf.bmp");
                Rum3StepInf.MakeTransparent(System.Drawing.Color.White);
                Soviet2StepAirBorne = (Bitmap)Bitmap.FromFile(bitmapPath + "Soviet2StepAirBorne.bmp");
                Soviet2StepAirBorne.MakeTransparent(System.Drawing.Color.White);
                Soviet2StepArmor = (Bitmap)Bitmap.FromFile(bitmapPath + "Soviet2StepArmor.bmp");
                Soviet2StepArmor.MakeTransparent(System.Drawing.Color.White);
                Soviet2StepInf = (Bitmap)Bitmap.FromFile(bitmapPath + "Soviet2StepInf.bmp");
                Soviet2StepInf.MakeTransparent(System.Drawing.Color.White);
                Soviet3StepAirBorne = (Bitmap)Bitmap.FromFile(bitmapPath + "Soviet3StepAirBorne.bmp");
                Soviet3StepAirBorne.MakeTransparent(System.Drawing.Color.White);
                Soviet3StepArmor = (Bitmap)Bitmap.FromFile(bitmapPath + "Soviet3StepArmor.bmp");
                Soviet3StepArmor.MakeTransparent(System.Drawing.Color.White);
                Soviet3StepCavalry = (Bitmap)Bitmap.FromFile(bitmapPath + "Soviet3StepCavalry.bmp");
                Soviet3StepCavalry.MakeTransparent(System.Drawing.Color.White);
                Soviet3StepInf = (Bitmap)Bitmap.FromFile(bitmapPath + "Soviet3StepInf.bmp");
                Soviet3StepInf.MakeTransparent(System.Drawing.Color.White);
                Soviet4StepArmor = (Bitmap)Bitmap.FromFile(bitmapPath + "Soviet4StepArmor.bmp");
                Soviet4StepArmor.MakeTransparent(System.Drawing.Color.White);
                Soviet4StepEliteArmor = (Bitmap)Bitmap.FromFile(bitmapPath + "Soviet4StepEliteArmor.bmp");
                Soviet4StepEliteArmor.MakeTransparent(System.Drawing.Color.White);
                Soviet4StepEliteInf = (Bitmap)Bitmap.FromFile(bitmapPath + "Soviet4StepEliteInf.bmp");
                Soviet4StepEliteInf.MakeTransparent(System.Drawing.Color.White);
                Soviet4StepInf = (Bitmap)Bitmap.FromFile(bitmapPath + "Soviet4StepInf.bmp");
                Soviet4StepInf.MakeTransparent(System.Drawing.Color.White);
                SovietBlockBacking = (Bitmap)Bitmap.FromFile(bitmapPath + "SovietBlockBacking.bmp");
                SovietBlockBacking.MakeTransparent(System.Drawing.Color.White);
                SovietEliteBlockBacking = (Bitmap)Bitmap.FromFile(bitmapPath + "SovietEliteBlockBacking.bmp");
                SovietEliteBlockBacking.MakeTransparent(System.Drawing.Color.White);
                SovietEliteMultBlockBacking = (Bitmap)Bitmap.FromFile(bitmapPath + "SovietEliteMultBlockBacking.bmp");
                SovietEliteMultBlockBacking.MakeTransparent(System.Drawing.Color.White);
                SovietGSUDogfight = (Bitmap)Bitmap.FromFile(bitmapPath + "SovietGSUDogfight.bmp");
                SovietGSUDogfight.MakeTransparent(System.Drawing.Color.White);
                SovietGSUGroundSupport = (Bitmap)Bitmap.FromFile(bitmapPath + "SovietGSUGroundSupport.bmp");
                SovietGSUGroundSupport.MakeTransparent(System.Drawing.Color.White);
                SovietGSUMini = (Bitmap)Bitmap.FromFile(bitmapPath + "SovietGSUMini.bmp");
                SovietGSUMini.MakeTransparent(System.Drawing.Color.White);
                SovietMultBlockBacking = (Bitmap)Bitmap.FromFile(bitmapPath + "SovietMultBlockBacking.bmp");
                SovietMultBlockBacking.MakeTransparent(System.Drawing.Color.White);
                SovietFleetPoint = (Bitmap)Bitmap.FromFile(bitmapPath + "SovietFleetPoint.bmp");
                SovietFleetPointWOutTrans = (Bitmap)Bitmap.FromFile(bitmapPath + "SovietFleetPointWOutTrans.bmp");
                US2StepAirBorne = (Bitmap)Bitmap.FromFile(bitmapPath + "US2StepAirBorne.bmp");
                US2StepAirBorne.MakeTransparent(System.Drawing.Color.White);
                US3StepAirBorne = (Bitmap)Bitmap.FromFile(bitmapPath + "US3StepAirBorne.bmp");
                US3StepAirBorne.MakeTransparent(System.Drawing.Color.White);
                US3StepArmor = (Bitmap)Bitmap.FromFile(bitmapPath + "US3StepArmor.bmp");
                US3StepArmor.MakeTransparent(System.Drawing.Color.White);
                US3StepInf = (Bitmap)Bitmap.FromFile(bitmapPath + "US3StepInf.bmp");
                US3StepInf.MakeTransparent(System.Drawing.Color.White);
                US4StepArmor = (Bitmap)Bitmap.FromFile(bitmapPath + "US4StepArmor.bmp");
                US4StepArmor.MakeTransparent(System.Drawing.Color.White);
                US4StepInf = (Bitmap)Bitmap.FromFile(bitmapPath + "US4StepInf.bmp");
                US4StepInf.MakeTransparent(System.Drawing.Color.White);
                USBlockBacking = (Bitmap)Bitmap.FromFile(bitmapPath + "USBlockBacking.bmp");
                USBlockBacking.MakeTransparent(System.Drawing.Color.White);
                USGSUDogfight = (Bitmap)Bitmap.FromFile(bitmapPath + "USGSUDogfight.bmp");
                USGSUDogfight.MakeTransparent(System.Drawing.Color.White);
                USGSUGroundSupport = (Bitmap)Bitmap.FromFile(bitmapPath + "USGSUGroundSupport.bmp");
                USGSUGroundSupport.MakeTransparent(System.Drawing.Color.White);
                USGSUMini = (Bitmap)Bitmap.FromFile(bitmapPath + "USGSUMini.bmp");
                USGSUMini.MakeTransparent(System.Drawing.Color.White);
                USMultBlockBacking = (Bitmap)Bitmap.FromFile(bitmapPath + "USMultBlockBacking.bmp");
                USMultBlockBacking.MakeTransparent(System.Drawing.Color.White);
                USHiddenBlock = (Bitmap)Bitmap.FromFile(bitmapPath + "USHiddenBlock.bmp");
                USHiddenBlock.MakeTransparent(System.Drawing.Color.White);
                SovietHiddenBlock = (Bitmap)Bitmap.FromFile(bitmapPath + "SovietHiddenBlock.bmp");
                SovietHiddenBlock.MakeTransparent(System.Drawing.Color.White);
                SovietEliteHiddenBlock = (Bitmap)Bitmap.FromFile(bitmapPath + "SovietEliteHiddenBlock.bmp");
                SovietEliteHiddenBlock.MakeTransparent(System.Drawing.Color.White);
                NeutralHiddenBlock = (Bitmap)Bitmap.FromFile(bitmapPath + "NeutralHiddenBlock.bmp");
                NeutralHiddenBlock.MakeTransparent(System.Drawing.Color.White);
                ItaHiddenBlock = (Bitmap)Bitmap.FromFile(bitmapPath + "ItaHiddenBlock.bmp");
                ItaHiddenBlock.MakeTransparent(System.Drawing.Color.White);
                GermanHiddenBlock = (Bitmap)Bitmap.FromFile(bitmapPath + "GermanHiddenBlock.bmp");
                GermanHiddenBlock.MakeTransparent(System.Drawing.Color.White);
                GermanEliteHiddenBlock = (Bitmap)Bitmap.FromFile(bitmapPath + "GermanEliteHiddenBlock.bmp");
                GermanEliteHiddenBlock.MakeTransparent(System.Drawing.Color.White);
                FrenchHiddenBlock = (Bitmap)Bitmap.FromFile(bitmapPath + "FrenchHiddenBlock.bmp");
                FrenchHiddenBlock.MakeTransparent(System.Drawing.Color.White);
                BritishHiddenBlock = (Bitmap)Bitmap.FromFile(bitmapPath + "BritishHiddenBlock.bmp");
                BritishHiddenBlock.MakeTransparent(System.Drawing.Color.White);
                AxisMinorHiddenBlock = (Bitmap)Bitmap.FromFile(bitmapPath + "AxisMinorHiddenBlock.bmp");
                AxisMinorHiddenBlock.MakeTransparent(System.Drawing.Color.White);
                WesternAlliedBomberPoints = (Bitmap)Bitmap.FromFile(bitmapPath + "WesternAlliedBomberPoints.bmp");
                WesternAlliedFighterPoints = (Bitmap)Bitmap.FromFile(bitmapPath + "WesternAlliedFighterPoints.bmp");
                BritishFlakPoints = (Bitmap)Bitmap.FromFile(bitmapPath + "BritishFlakPoints.bmp");
                BritishASWLevel = (Bitmap)Bitmap.FromFile(bitmapPath + "BritishASWLevel.bmp");
                GermanUBoatPoints = (Bitmap)Bitmap.FromFile(bitmapPath + "GermanUBoatPoints.bmp");
                GermanUBoatPoints30 = (Bitmap)Bitmap.FromFile(bitmapPath + "GermanUBoatPoints30.bmp");
                GermanBomberPoints = (Bitmap)Bitmap.FromFile(bitmapPath + "GermanBomberPoints.bmp");
                GermanFighterPoints = (Bitmap)Bitmap.FromFile(bitmapPath + "GermanFighterPoints.bmp");
                GermanV2Points = (Bitmap)Bitmap.FromFile(bitmapPath + "GermanV2Points.bmp");
                GermanFlakPoints = (Bitmap)Bitmap.FromFile(bitmapPath + "GermanFlakPoints.bmp");
                GermanV1Points = (Bitmap)Bitmap.FromFile(bitmapPath + "GermanV1Points.bmp");
                AxisTurnMarker = (Bitmap)Bitmap.FromFile(bitmapPath + "AxisTurnMarker.bmp");
                AlliedTurnMarker = (Bitmap)Bitmap.FromFile(bitmapPath + "AlliedTurnMarker.bmp");
                BritishNextFlakAllowed = (Bitmap)Bitmap.FromFile(bitmapPath + "BritishNextFlakAllowed.bmp");
                BritishNextFleetAllowed = (Bitmap)Bitmap.FromFile(bitmapPath + "BritishNextFleetAllowed.bmp");
                FrenchNextFleetAllowed = (Bitmap)Bitmap.FromFile(bitmapPath + "FrenchNextFleetAllowed.bmp");
                GermanNextFlakAllowed = (Bitmap)Bitmap.FromFile(bitmapPath + "GermanNextFlakAllowed.bmp");
                GermanNextFleetAllowed = (Bitmap)Bitmap.FromFile(bitmapPath + "GermanNextFleetAllowed.bmp");
                ItaNextFleetAllowed = (Bitmap)Bitmap.FromFile(bitmapPath + "ItalianNextFleetAllowed.bmp");
                BritishNextASWAllowed = (Bitmap)Bitmap.FromFile(bitmapPath + "NextASWAllowed.bmp");
                USNextFleetAllowed = (Bitmap)Bitmap.FromFile(bitmapPath + "USNextFleetAllowed.bmp");
                SovietNextFleetAllowed = (Bitmap)Bitmap.FromFile(bitmapPath + "USSRNextFleetAllowed.bmp");

                #region Control Marker
                BritishControlMarker = (Bitmap)Bitmap.FromFile(bitmapPath + "BritishControlMarker.bmp");
                BritishControlMarker.MakeTransparent(System.Drawing.Color.White);
                TransparentBritishControlMarker = (Bitmap)BritishControlMarker.Clone();
                for (int i = 0; i < TransparentBritishControlMarker.Width; i++)
                {
                    for (int j = 0; j < TransparentBritishControlMarker.Height; j++)
                    {
                        if (TransparentBritishControlMarker.GetPixel(i, j).A != 0)
                        {
                            TransparentBritishControlMarker.SetPixel(i, j, Color.FromArgb(100, TransparentBritishControlMarker.GetPixel(i, j)));
                        }
                    }
                }
                USControlMarker = (Bitmap)Bitmap.FromFile(bitmapPath + "USControlMarker.bmp");
                USControlMarker.MakeTransparent(System.Drawing.Color.White);
                TransparentUSControlMarker = (Bitmap)USControlMarker.Clone();
                for (int i = 0; i < TransparentUSControlMarker.Width; i++)
                {
                    for (int j = 0; j < TransparentUSControlMarker.Height; j++)
                    {
                        if (TransparentUSControlMarker.GetPixel(i, j).A != 0)
                        {
                            TransparentUSControlMarker.SetPixel(i, j, Color.FromArgb(100, TransparentUSControlMarker.GetPixel(i, j)));
                        }
                    }
                }
                GermanControlMarker = (Bitmap)Bitmap.FromFile(bitmapPath + "GermanControlMarker.bmp");
                GermanControlMarker.MakeTransparent(System.Drawing.Color.White);
                TransparentGermanControlMarker = (Bitmap)GermanControlMarker.Clone();
                for (int i = 0; i < TransparentGermanControlMarker.Width; i++)
                {
                    for (int j = 0; j < TransparentGermanControlMarker.Height; j++)
                    {
                        if (TransparentGermanControlMarker.GetPixel(i, j).A != 0)
                        {
                            TransparentGermanControlMarker.SetPixel(i, j, Color.FromArgb(100, TransparentGermanControlMarker.GetPixel(i, j)));
                        }
                    }
                }
                SovietControlMarker = (Bitmap)Bitmap.FromFile(bitmapPath + "SovietControlMarker.bmp");
                SovietControlMarker.MakeTransparent(System.Drawing.Color.White);
                TransparentSovietControlMarker = (Bitmap)SovietControlMarker.Clone();
                for (int i = 0; i < TransparentSovietControlMarker.Width; i++)
                {
                    for (int j = 0; j < TransparentSovietControlMarker.Height; j++)
                    {
                        if (TransparentSovietControlMarker.GetPixel(i, j).A != 0)
                        {
                            TransparentSovietControlMarker.SetPixel(i, j, Color.FromArgb(100, TransparentSovietControlMarker.GetPixel(i, j)));
                        }
                    }
                }
                ItalyControlMarker = (Bitmap)Bitmap.FromFile(bitmapPath + "ItalianMarker.bmp");
                ItalyControlMarker.MakeTransparent(System.Drawing.Color.Black);
                TransparentItalyControlMarker = (Bitmap)ItalyControlMarker.Clone();
                for (int i = 0; i < TransparentItalyControlMarker.Width; i++)
                {
                    for (int j = 0; j < TransparentItalyControlMarker.Height; j++)
                    {
                        if (TransparentItalyControlMarker.GetPixel(i, j).A != 0)
                        {
                            TransparentItalyControlMarker.SetPixel(i, j, Color.FromArgb(100, TransparentItalyControlMarker.GetPixel(i, j)));
                        }
                    }
                }
                FrenchControlMarker = (Bitmap)Bitmap.FromFile(bitmapPath + "FrenchMarker.bmp");
                FrenchControlMarker.MakeTransparent(System.Drawing.Color.Black);
                TransparentFrenchControlMarker = (Bitmap)FrenchControlMarker.Clone();
                for (int i = 0; i < TransparentFrenchControlMarker.Width; i++)
                {
                    for (int j = 0; j < TransparentFrenchControlMarker.Height; j++)
                    {
                        if (TransparentFrenchControlMarker.GetPixel(i, j).A != 0)
                        {
                            TransparentFrenchControlMarker.SetPixel(i, j, Color.FromArgb(100, TransparentFrenchControlMarker.GetPixel(i, j)));
                        }
                    }
                }
                #endregion

                #region Special Actions
                TransparentBritishSAs = (Bitmap)Bitmap.FromFile(bitmapPath + "BritishSpecialAction.bmp");
                TransparentBritishSAs.MakeTransparent(System.Drawing.Color.White);
                BritishSAs = (Bitmap)Bitmap.FromFile(bitmapPath + "BritishSpecialAction.bmp");
                BritishSAs.MakeTransparent(System.Drawing.Color.White);
                for (int i = 0; i < TransparentBritishSAs.Width; i++)
                {
                    for (int j = 0; j < TransparentBritishSAs.Height; j++)
                    {
                        if (TransparentBritishSAs.GetPixel(i, j).A != 0)
                        {
                            TransparentBritishSAs.SetPixel(i, j, Color.FromArgb(100, TransparentBritishSAs.GetPixel(i, j)));
                        }
                    }
                }
                USControlSAs = (Bitmap)Bitmap.FromFile(bitmapPath + "USSpecialAction.bmp");
                USControlSAs.MakeTransparent(System.Drawing.Color.White);
                TransparentUSControlSAs = (Bitmap)Bitmap.FromFile(bitmapPath + "USSpecialAction.bmp");
                TransparentUSControlSAs.MakeTransparent(System.Drawing.Color.White);
                for (int i = 0; i < TransparentUSControlSAs.Width; i++)
                {
                    for (int j = 0; j < TransparentUSControlSAs.Height; j++)
                    {
                        if (TransparentUSControlSAs.GetPixel(i, j).A != 0)
                        {
                            TransparentUSControlSAs.SetPixel(i, j, Color.FromArgb(100, TransparentUSControlSAs.GetPixel(i, j)));
                        }
                    }
                }
                TransparentGermanControlSAs = (Bitmap)Bitmap.FromFile(bitmapPath + "GermanSpecialAction.bmp");
                TransparentGermanControlSAs.MakeTransparent(System.Drawing.Color.White);
                GermanControlSAs = (Bitmap)Bitmap.FromFile(bitmapPath + "GermanSpecialAction.bmp");
                GermanControlSAs.MakeTransparent(System.Drawing.Color.White);
                for (int i = 0; i < TransparentGermanControlSAs.Width; i++)
                {
                    for (int j = 0; j < TransparentGermanControlSAs.Height; j++)
                    {
                        if (TransparentGermanControlSAs.GetPixel(i, j).A != 0)
                        {
                            TransparentGermanControlSAs.SetPixel(i, j, Color.FromArgb(100, TransparentGermanControlSAs.GetPixel(i, j)));
                        }
                    }
                }
                TransparentSovietControlSAs = (Bitmap)Bitmap.FromFile(bitmapPath + "SovietSpecialAction.bmp");
                TransparentSovietControlSAs.MakeTransparent(System.Drawing.Color.White);
                SovietControlSAs = (Bitmap)Bitmap.FromFile(bitmapPath + "SovietSpecialAction.bmp");
                SovietControlSAs.MakeTransparent(System.Drawing.Color.White);
                for (int i = 0; i < TransparentSovietControlSAs.Width; i++)
                {
                    for (int j = 0; j < TransparentSovietControlSAs.Height; j++)
                    {
                        if (TransparentSovietControlSAs.GetPixel(i, j).A != 0)
                        {
                            TransparentSovietControlSAs.SetPixel(i, j, Color.FromArgb(100, TransparentSovietControlSAs.GetPixel(i, j)));
                        }
                    }
                }
                TransparentItalyControlSAs = (Bitmap)Bitmap.FromFile(bitmapPath + "ItalianSpecialAction.bmp");
                TransparentItalyControlSAs.MakeTransparent(System.Drawing.Color.White);
                ItalyControlSAs = (Bitmap)Bitmap.FromFile(bitmapPath + "ItalianSpecialAction.bmp");
                ItalyControlSAs.MakeTransparent(System.Drawing.Color.White);
                for (int i = 0; i < TransparentItalyControlSAs.Width; i++)
                {
                    for (int j = 0; j < TransparentItalyControlSAs.Height; j++)
                    {
                        if (TransparentItalyControlSAs.GetPixel(i, j).A != 0)
                        {
                            TransparentItalyControlSAs.SetPixel(i, j, Color.FromArgb(100, TransparentItalyControlSAs.GetPixel(i, j)));
                        }
                    }
                }
                TransparentFrenchControlSAs = (Bitmap)Bitmap.FromFile(bitmapPath + "FrenchSpecialAction.bmp");
                TransparentFrenchControlSAs.MakeTransparent(System.Drawing.Color.White);
                FrenchControlSAs = (Bitmap)Bitmap.FromFile(bitmapPath + "FrenchSpecialAction.bmp");
                FrenchControlSAs.MakeTransparent(System.Drawing.Color.White);
                for (int i = 0; i < TransparentFrenchControlSAs.Width; i++)
                {
                    for (int j = 0; j < TransparentFrenchControlSAs.Height; j++)
                    {
                        if (TransparentFrenchControlSAs.GetPixel(i, j).A != 0)
                        {
                            TransparentFrenchControlSAs.SetPixel(i, j, Color.FromArgb(100, TransparentFrenchControlSAs.GetPixel(i, j)));
                        }
                    }
                }
                TransparentNeutralControlSAs = (Bitmap)Bitmap.FromFile(bitmapPath + "NeutralSpecialAction.bmp");
                TransparentNeutralControlSAs.MakeTransparent(System.Drawing.Color.White);
                NeutralControlSAs = (Bitmap)Bitmap.FromFile(bitmapPath + "NeutralSpecialAction.bmp");
                NeutralControlSAs.MakeTransparent(System.Drawing.Color.White);
                for (int i = 0; i < TransparentNeutralControlSAs.Width; i++)
                {
                    for (int j = 0; j < TransparentNeutralControlSAs.Height; j++)
                    {
                        if (TransparentNeutralControlSAs.GetPixel(i, j).A != 0)
                        {
                            TransparentNeutralControlSAs.SetPixel(i, j, Color.FromArgb(100, TransparentNeutralControlSAs.GetPixel(i, j)));
                        }
                    }
                }
                //Mini Transparent
                MiniTransparentBritishSAs = (Bitmap)Bitmap.FromFile(bitmapPath + "MiniBritishSpecialAction.bmp");
                MiniTransparentBritishSAs.MakeTransparent(System.Drawing.Color.White);
                for (int i = 0; i < MiniTransparentBritishSAs.Width; i++)
                {
                    for (int j = 0; j < MiniTransparentBritishSAs.Height; j++)
                    {
                        if (MiniTransparentBritishSAs.GetPixel(i, j).A != 0)
                        {
                            MiniTransparentBritishSAs.SetPixel(i, j, Color.FromArgb(128, MiniTransparentBritishSAs.GetPixel(i, j)));
                        }
                    }
                }
                MiniTransparentUSControlSAs = (Bitmap)Bitmap.FromFile(bitmapPath + "MiniUSSpecialAction.bmp");
                MiniTransparentUSControlSAs.MakeTransparent(System.Drawing.Color.White);
                for (int i = 0; i < MiniTransparentUSControlSAs.Width; i++)
                {
                    for (int j = 0; j < MiniTransparentUSControlSAs.Height; j++)
                    {
                        if (MiniTransparentUSControlSAs.GetPixel(i, j).A != 0)
                        {
                            MiniTransparentUSControlSAs.SetPixel(i, j, Color.FromArgb(128, MiniTransparentUSControlSAs.GetPixel(i, j)));
                        }
                    }
                }
                MiniTransparentGermanControlSAs = (Bitmap)Bitmap.FromFile(bitmapPath + "MiniGermanSpecialAction.bmp");
                MiniTransparentGermanControlSAs.MakeTransparent(System.Drawing.Color.White);
                for (int i = 0; i < MiniTransparentGermanControlSAs.Width; i++)
                {
                    for (int j = 0; j < MiniTransparentGermanControlSAs.Height; j++)
                    {
                        if (MiniTransparentGermanControlSAs.GetPixel(i, j).A != 0)
                        {
                            MiniTransparentGermanControlSAs.SetPixel(i, j, Color.FromArgb(128, MiniTransparentGermanControlSAs.GetPixel(i, j)));
                        }
                    }
                }
                MiniTransparentSovietControlSAs = (Bitmap)Bitmap.FromFile(bitmapPath + "MiniSovietSpecialAction.bmp");
                MiniTransparentSovietControlSAs.MakeTransparent(System.Drawing.Color.White);
                for (int i = 0; i < MiniTransparentSovietControlSAs.Width; i++)
                {
                    for (int j = 0; j < MiniTransparentSovietControlSAs.Height; j++)
                    {
                        if (MiniTransparentSovietControlSAs.GetPixel(i, j).A != 0)
                        {
                            MiniTransparentSovietControlSAs.SetPixel(i, j, Color.FromArgb(128, MiniTransparentSovietControlSAs.GetPixel(i, j)));
                        }
                    }
                }
                MiniTransparentItalyControlSAs = (Bitmap)Bitmap.FromFile(bitmapPath + "MiniItalianSpecialAction.bmp");
                MiniTransparentItalyControlSAs.MakeTransparent(System.Drawing.Color.White);
                for (int i = 0; i < MiniTransparentItalyControlSAs.Width; i++)
                {
                    for (int j = 0; j < MiniTransparentItalyControlSAs.Height; j++)
                    {
                        if (MiniTransparentItalyControlSAs.GetPixel(i, j).A != 0)
                        {
                            MiniTransparentItalyControlSAs.SetPixel(i, j, Color.FromArgb(128, MiniTransparentItalyControlSAs.GetPixel(i, j)));
                        }
                    }
                }
                MiniTransparentFrenchControlSAs = (Bitmap)Bitmap.FromFile(bitmapPath + "MiniFrenchSpecialAction.bmp");
                MiniTransparentFrenchControlSAs.MakeTransparent(System.Drawing.Color.White);
                for (int i = 0; i < MiniTransparentFrenchControlSAs.Width; i++)
                {
                    for (int j = 0; j < MiniTransparentFrenchControlSAs.Height; j++)
                    {
                        if (MiniTransparentFrenchControlSAs.GetPixel(i, j).A != 0)
                        {
                            MiniTransparentFrenchControlSAs.SetPixel(i, j, Color.FromArgb(128, MiniTransparentFrenchControlSAs.GetPixel(i, j)));
                        }
                    }
                }
                MiniTransparentNeutralControlSAs = (Bitmap)Bitmap.FromFile(bitmapPath + "MiniNeutralSpecialAction.bmp");
                MiniTransparentNeutralControlSAs.MakeTransparent(System.Drawing.Color.White);
                for (int i = 0; i < MiniTransparentNeutralControlSAs.Width; i++)
                {
                    for (int j = 0; j < MiniTransparentNeutralControlSAs.Height; j++)
                    {
                        if (MiniTransparentNeutralControlSAs.GetPixel(i, j).A != 0)
                        {
                            MiniTransparentNeutralControlSAs.SetPixel(i, j, Color.FromArgb(128, MiniTransparentNeutralControlSAs.GetPixel(i, j)));
                        }
                    }
                }
                #endregion

                #region Beachheads
                axisBeachhead = (Bitmap)Bitmap.FromFile(bitmapPath + "axisBeachhead.bmp");
                axisBeachhead.MakeTransparent(System.Drawing.Color.White);
                sovietBeachHead = (Bitmap)Bitmap.FromFile(bitmapPath + "sovietBeachHead.bmp");
                sovietBeachHead.MakeTransparent(System.Drawing.Color.White);
                wAlliedBeachHead = (Bitmap)Bitmap.FromFile(bitmapPath + "wAlliesBeachHead.bmp");
                wAlliedBeachHead.MakeTransparent(System.Drawing.Color.White);
                #endregion

                ClearWeatherMarker = (Bitmap)Bitmap.FromFile(bitmapPath + "ClearWeatherMarker.bmp");
                ClearWeatherMarker.MakeTransparent(System.Drawing.Color.White);
                LtMudWeatherMarker = (Bitmap)Bitmap.FromFile(bitmapPath + "LtMudWeatherMarker.bmp");
                LtMudWeatherMarker.MakeTransparent(System.Drawing.Color.White);
                MudWeatherMarker = (Bitmap)Bitmap.FromFile(bitmapPath + "MudWeatherMarker.bmp");
                MudWeatherMarker.MakeTransparent(System.Drawing.Color.White);
                SnowWeatherMarker = (Bitmap)Bitmap.FromFile(bitmapPath + "SnowWeatherTurnMarker.bmp");
                SnowWeatherMarker.MakeTransparent(System.Drawing.Color.White);
                OutOfSupply = (Bitmap)Bitmap.FromFile(bitmapPath + "OOS.bmp");
                OutOfSupply.MakeTransparent(System.Drawing.Color.White);
                OutOfSupplyMoved = (Bitmap)Bitmap.FromFile(bitmapPath + "OOSMoved.bmp");
                OutOfSupplyMoved.MakeTransparent(System.Drawing.Color.White);
                unitFired = (Bitmap)Bitmap.FromFile(bitmapPath + "unitFired.bmp");
                unitFired.MakeTransparent(System.Drawing.Color.White);
                fieldFortification = (Bitmap)Bitmap.FromFile(bitmapPath + "fieldFortification.bmp");
                axisMinorStep = (Bitmap)Bitmap.FromFile(bitmapPath + "axisMinorStep.bmp");
                for (int i = 0; i < axisMinorStep.Width; i++)
                {
                    for (int j = 0; j < axisMinorStep.Height; j++)
                    {
                        axisMinorStep.SetPixel(i, j, Color.FromArgb(100, axisMinorStep.GetPixel(i, j)));
                    }
                }
                heavyFieldFortification = (Bitmap)Bitmap.FromFile(bitmapPath + "heavyFieldFortification.bmp");
                oneSidedDiceRed = (Bitmap)Bitmap.FromFile(bitmapPath + "1SidedDiceRed.bmp");
                twoSidedDiceRed = (Bitmap)Bitmap.FromFile(bitmapPath + "2SidedDiceRed.bmp");
                threeSidedDiceRed = (Bitmap)Bitmap.FromFile(bitmapPath + "3SidedDiceRed.bmp");
                fourSidedDiceRed = (Bitmap)Bitmap.FromFile(bitmapPath + "4SidedDiceRed.bmp");
                fiveSidedDiceRed = (Bitmap)Bitmap.FromFile(bitmapPath + "5SidedDiceRed.bmp");
                sixSidedDiceRed = (Bitmap)Bitmap.FromFile(bitmapPath + "6SidedDiceRed.bmp");
                oneSidedDiceWhite = (Bitmap)Bitmap.FromFile(bitmapPath + "1SidedDiceWhite.bmp");
                twoSidedDiceWhite = (Bitmap)Bitmap.FromFile(bitmapPath + "2SidedDiceWhite.bmp");
                threeSidedDiceWhite = (Bitmap)Bitmap.FromFile(bitmapPath + "3SidedDiceWhite.bmp");
                fourSidedDiceWhite = (Bitmap)Bitmap.FromFile(bitmapPath + "4SidedDiceWhite.bmp");
                fiveSidedDiceWhite = (Bitmap)Bitmap.FromFile(bitmapPath + "5SidedDiceWhite.bmp");
                sixSidedDiceWhite = (Bitmap)Bitmap.FromFile(bitmapPath + "6SidedDiceWhite.bmp");
                ClearAllWeather = (Bitmap)Bitmap.FromFile(bitmapPath + "ClearAll.bmp");
                ClearAllWeather.MakeTransparent(System.Drawing.Color.White);
                ClearWestSouthLtMudEastWeather = (Bitmap)Bitmap.FromFile(bitmapPath + "ClearWestSouthLtMudEast.bmp");
                ClearWestSouthLtMudEastWeather.MakeTransparent(System.Drawing.Color.White);
                SnowEastWestLtMudSouthWeather = (Bitmap)Bitmap.FromFile(bitmapPath + "SnowEastWestLtMudSouth.bmp");
                SnowEastWestLtMudSouthWeather.MakeTransparent(System.Drawing.Color.White);
                VariableWeather = (Bitmap)Bitmap.FromFile(bitmapPath + "VariableWeather.bmp");
                VariableWeather.MakeTransparent(System.Drawing.Color.White);

                // all files loaded
                return true;
            }
            catch
            {
                MessageBox.Show("One or more required BMP bitmap files were not found!  Aborting game.", "Missing files",
                    MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

                // files not loaded--exit game
                return false;
            }
        }
        #endregion
    }
}
